const Blog = require('../models/Blog')

// 自执行的异步函数

!(async () => {

    // 新建博客
    const blogCreate = await Blog.create({
        title: 'mongoose标题',
        content: 'mongoose内容',
        author: 'demonlb'
    })

    console.log('blogCreate', blogCreate)

    // 获取列表，按照 id 逆序排列
    const list = await Blog.find().sort({ _id: -1 })
    console.log('list', list) // 数组形式
    // 模糊查询 /标题/ /A/

    // 根据 id 获取博客内容获取的是对象形式的内容
    const blogGetById = await Blog.findById('61ac1d62ea6da95064e180c9')
    console.log('blogGetById', blogGetById)

    // 修改博客
    const blogUpdate = await Blog.findOneAndUpdate(
        { _id: '61ac1d62ea6da95064e180c9' },
        { content: 'mongoose 修改后的内容' },
        {
            new: true // 返回修改后的内容，默认为 false，即返回修改前的内容
        }
    )
    console.log('blogUpdate', blogUpdate)

    // 删除博客
    const blogDelete = await Blog.findOneAndDelete({
        _id: '61ac1d62ea6da95064e180c9',
        author: 'demonlb' // 验证一下作者，增加安全性，防止误删
    })
    console.log('blogDelete', blogDelete)
})()